﻿#ifndef QGroupLineEdit_H
#define QGroupLineEdit_H

#include <QLineEdit>
#include "QCommonWidgets_global.h"
QCOMMWIDGETS_BEGIN_NAMESPACE

class QCOMMONWIDGETS_EXPORT QGroupLineEdit : public QLineEdit
{
    Q_OBJECT
	
public:
	/**
     * 显示文字构造函数
     *
     * @param - text:               显示的文字
     * @param - ft:                 文字字体和大小
     * @param - alig:               文字对齐方式
	 * @param - text_color:         文字颜色
     * @param - m_pEditType: 		输入类型
     * @param - StyleSheet: 		样式表
     * @param - parent:             父控件指针
    */
    QGroupLineEdit(const QString text, const QFont ft,QFlags<Qt::AlignmentFlag> alig, const QColor text_color,QLineEdit::EchoMode m_pEditType, QString StyleSheet, QWidget *parent = nullptr);

    /**
     * 析构函数
     *
     * @param -
     * @note -
     * @return -
     */
    virtual ~QGroupLineEdit();
	
	/**
     * 设置显示文字
     *
     * @param -
     * @note -
     * @return -
     */
	void SetQStringText(QString text);
	
	/**
     * 获取显示文字
     *
     * @param -
     * @note -
     * @return -
     */
	QString GetQStringText();
	
	/**
     * 清除当前输入框显示的内容
     *
     * @param -
     * @note -
     * @return -
     */
	void ClearText();
	
    /**
     * 窗口尺寸变化自动调用函数
     *
     * @param -
     * @note -
     * @return -
     */
    void resizeEvent(QResizeEvent *event) override;
	// 拦截触摸事件
	bool event(QEvent *event) override;

signals:
	// 控件被点击
	void clickedMsg();
private:

	QFont									font;									// 字体和大小
	QFlags<Qt::AlignmentFlag> 				m_pAlignmentFlag;						// 文字对齐方式
	char									m_pBackTransparency;					// 背景透明度0-100
	QLineEdit::EchoMode						m_pEditType;							// 输入类型
};
QCOMMWIDGETS_END_NAMESPACE

#endif // QLINEEDITBASE_H
